This invention relates to electronic circuits, and, more particularly, to a neuro-fuzzy network architecture having self-training or on-line learning capabilities.
The invention particularly relates to a self-training neuro-fuzzy network architecture including at least one fuzzy microcontroller (fuzzyfier/defuzzyfier) dedicated for calculating fuzzy rules. The fuzzy microcontroller may be integrated monolithically in a semiconductor along with a non-volatile memory, for example. The invention also relates to a method of electronically controlling semiconductor-integrated electronic devices using self-training.
Of the currently available electronic devices integrated monolithically in a semiconductor, the fuzzy logic products typically fall in the category of processors, microcontrollers, or general purpose fuzzy co-processors. However, these products are unsuitable for operation in an on-line learning and self-training mode. For example, there exist no commercially available devices which include circuit portions adapted to process dedicated self-training instructions.
The unavailability of integrated devices with self-training processing features makes prior art approaches ill-suited to address problems requiring a capability to accommodate process variations and changing environmental conditions. Such is the case, for example, with the control of fuel injection systems in internal combustion engines and in other automotive applications.
The present invention is directed to a semiconductor integrated electronic device for enabling processing of predetermined instructions or data processing procedures by self-training. The technical problem addressed by the present invention is to provide a programmable device as described above which is of the neuro-fuzzy type.
It is an object of the present invention to provide a programmable integrated device of the neuro-fuzzy type with dedicated hardware appropriate for on-line learning capabilities. In essence, the invention provides a fuzzy neural system (hereinafter Fuzzy Neural Network or FNN) which uses the properties of neural networks to automatically learn the variations of a process to be controlled, as well as to adjust its behavior accordingly by adaptation of the fuzzy rule system parameters for increased efficiency throughout.
Based on this concept, the objects are achieved by a self-training neuro-fuzzy network including at least one fuzzy microcontroller dedicated to fuzzy rules computing, a non-volatile memory integrated monolithically with the at least one fuzzy microcontroller on a semiconductor and connected thereto, a microprocessor, a volatile memory, and a bus interconnecting the fuzzy microcontroller. The microprocessor, the volatile memory, and an arbiter circuit are connected to the bus. The arbiter circuit controls access to the volatile memory by the microprocessor and the fuzzy microcontroller.
More specifically, the self-training neuro-fuzzy network may also include a fuzzy co-processor connected between the fuzzy microcontroller and the microprocessor for performing fuzzy logic operations. The fuzzy co-processor may be a slave to the microprocessor. Furthermore, an arithmetic logic unit may be connected to the microprocessor, and the arithmetic logic unit may include a sequential machine including a plurality of internal registers.
Additionally, the volatile memory may be a dual port random access memory. The self-training neuro-fuzzy network may further include an interface connected between the volatile memory and the non-volatile memory for exchanging data therebetween. Also, an input/output (I/O) module may be connected to the microprocessor for interfacing with external peripherals.
The invention also relates to a method of electronically controlling an electronic device by self-training where the electronic device is monolithically integrated on a semiconductor and includes at least one fuzzy microcontroller for fuzzy rule computing and a non-volatile memory connected thereto. The method includes writing data from the non-volatile memory to a volatile memory, reading data from the volatile memory and executing predetermined sequences of instructions on the data, connecting an arbiter circuit to a bus interconnecting the fuzzy microcontroller, the microprocessor, and the memory unit, and activating a fuzzy co-processor with the arbiter circuit. The fuzzy co-processor is activated upon receipt and recognition of a fuzzy logic instruction from the volatile memory. Additionally, the fuzzy co-processor may be operated as a slave to the microprocessor.